import axios from 'axios'
// 进度条
import nprogress from 'nprogress'
import 'nprogress/nprogress.css'
// token相关方法
import { getToken } from '@/unit/auth'
// 引入vuex
import store from '@/store'

// 该方法会影响下载大文件的接口
const requests = axios.create({
	timeout: 50000000,
})

//请求拦截器
requests.interceptors.request.use((config) => {
	nprogress.start()
	// 需要携带token发给服务器
	if(store.state.user.token){
		config.headers.Authorization = getToken()
	}
	return config
})
//响应拦截器
requests.interceptors.response.use((res) => {
	nprogress.done()
	return res.data
}, (error)=>{
	return Promise.reject(new Error('faile'))
})

export default requests